package com.property.manage.model.print;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.List;

/**
 * 描述 欠费收取票据
 *
 * @author lwb
 * @since 2020/9/18
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("欠费收取票据")
public class ArrearsPayBillVo extends CommonBill {

    @ApiModelProperty("支付明细")
    private List<BillDetail> billDetails;

    @ApiModelProperty("合计金额")
    private BigDecimal totalAmount;

    @ApiModelProperty("合计物业费")
    private BigDecimal totalPropertyMoney;

    @ApiModelProperty("合计租金")
    private BigDecimal totalRentMoney;

    @ApiModelProperty("合计其他费用")
    private BigDecimal totalOtherMoney;

    @ApiModelProperty("减免金额")
    private BigDecimal deductionAmount;

    @ApiModelProperty("收取金额")
    private BigDecimal receiveAmount;

    @ApiModelProperty("上期余额")
    private BigDecimal preAmount;

    @ApiModelProperty("本期抵扣")
    private BigDecimal thisAmount;

    @ApiModelProperty("本期预存")
    private BigDecimal returnAmount;

    @ApiModelProperty("实际金额")
    private BigDecimal realAmount;

    @ApiModelProperty("大写金额")
    private String chineseAmount;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModel("缴费明细")
    @Data
    public static class BillDetail{
        @ApiModelProperty("收费名称")
        private String feeType;

        @ApiModelProperty("月份")
        private String yearMonth;

        @ApiModelProperty("起止日期")
        private String startEndDate;

        @ApiModelProperty("起数")
        private BigDecimal startFee;

        @ApiModelProperty("止数")
        private BigDecimal endFee;

        @ApiModelProperty("单价")
        private BigDecimal unitPrice;

        @ApiModelProperty("应付金额")
        private BigDecimal shouldPay;
        @ApiModelProperty("金额")
        private BigDecimal money;
        @ApiModelProperty("物业费")
        private BigDecimal propertyMoney;
        @ApiModelProperty("租金")
        private BigDecimal rentMoney;
        @ApiModelProperty("其他费用")
        private BigDecimal otherMoney;

        @ApiModelProperty("滞纳金")
        private BigDecimal znj;

        @ApiModelProperty("小计")
        private BigDecimal subTotal;

        @ApiModelProperty("说明")
        private String remark;
    }




}
